//package com.gobang.service.impl;
//
//import com.gobang.service.GameService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.context.annotation.Profile;
//import org.springframework.stereotype.Service;
//
///**
// * 游戏核心服务Mock实现
// * 用于实时通信模块的测试和开发
// *
// * @author System
// * @since 1.0.0
// */
//@Service
//@Profile({"dev", "test"})
//@Slf4j
//public class GameServiceMockImpl implements GameService {
//
//    @Override
//    public MoveResult processMove(Long userId, String roomId, Integer row, Integer col) {
//        log.info("Mock处理落子请求：用户{}，房间{}，位置({},{})", userId, roomId, row, col);
//
//        try {
//            // 模拟验证逻辑
//            if (row == null || col == null) {
//                return MoveResult.failure(roomId, "6009", "落子位置无效", "BLACK");
//            }
//
//            if (row < 0 || row > 14 || col < 0 || col > 14) {
//                return MoveResult.failure(roomId, "6009", "落子位置超出棋盘范围", "BLACK");
//            }
//
//            // 模拟成功的落子
//            MoveInfo moveInfo = new MoveInfo(row, col, "BLACK");
//            int[][] mockBoard = new int[15][15];
//            mockBoard[row][col] = 1; // 黑棋
//
//            // 模拟游戏状态
//            boolean isGameOver = (row == 7 && col == 7); // 模拟中心位置获胜
//            Long winnerId = isGameOver ? userId : null;
//            String gameStatus = isGameOver ? "FINISHED" : "PLAYING";
//            String nextTurn = isGameOver ? null : "WHITE";
//
//            log.info("Mock落子处理成功：{}，游戏状态：{}", moveInfo, gameStatus);
//            return MoveResult.success(roomId, moveInfo, gameStatus, nextTurn, isGameOver, winnerId, mockBoard);
//
//        } catch (Exception e) {
//            log.error("Mock落子处理异常", e);
//            return MoveResult.failure(roomId, "6000", "系统异常", "BLACK");
//        }
//    }
//
//    @Override
//    public GameStateResult getGameState(String roomId, Long userId) {
//        log.info("Mock获取游戏状态：房间{}，用户{}", roomId, userId);
//
//        try {
//            // 模拟游戏状态
//            MoveInfo lastMove = new MoveInfo(7, 7, "BLACK");
//            int[][] mockBoard = new int[15][15];
//            mockBoard[7][7] = 1;
//
//            log.info("Mock游戏状态查询成功：房间{}", roomId);
//            return GameStateResult.success(roomId, "WHITE", lastMove, 1, "PLAYING", mockBoard);
//
//        } catch (Exception e) {
//            log.error("Mock游戏状态查询异常", e);
//            return GameStateResult.failure("6001", "游戏房间不存在");
//        }
//    }
//
//    @Override
//    public SurrenderResult processSurrender(Long userId, String roomId) {
//        log.info("Mock处理认输：用户{}，房间{}", userId, roomId);
//
//        try {
//            // 模拟认输逻辑
//            Long winnerId = userId.equals(1L) ? 2L : 1L; // 对手获胜
//
//            log.info("Mock认输处理成功：房间{}，获胜者{}", roomId, winnerId);
//            return SurrenderResult.success(roomId, winnerId, "FINISHED");
//
//        } catch (Exception e) {
//            log.error("Mock认输处理异常", e);
//            return SurrenderResult.failure("6012", "认输操作失败");
//        }
//    }
//}